home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / TPUG Xtras / Xtras / progdisk.d64 / maze (.txt) < prev    next >
Commodore BASIC  |  2009-02-07  |  4KB  |  156 lines

  1. 1000 DIM TT$(11):DIM TT(11)
  2. 1010 DIM A(4): A(0)=2: A(1)=-80: A(2)=-2: A(3)=80
  3. 1020 MX=21: REM MAX STRING LENGTH
  4. 1030 POKE53280,6:POKE53281,1:POKE198,0
  5. 1040 PRINT"[147]EXIT";CHR$(142)
  6. 1050 PRINTTAB(11)"                  "
  7. 1060 PRINTTAB(11)" THE AMAZING MAZE "
  8. 1070 PRINTTAB(11)"                  "
  9. 1080 PRINT "[151]"
  10. 1090 PRINT TAB(8);"THE INVISIBLE MAZE HIDES"
  11. 1100 PRINT "   USE THE CURSOR KEYS TO MOVE TO THE"
  12. 1110 PRINT "   EXIT AT THE UPPER LEFT HAND CORNER"
  13. 1120 PRINT TAB(9);"PRESS RUN/STOP TO QUIT"
  14. 1130 GOSUB 2210
  15. 1140 PRINT"[147]EXIT[151]"
  16. 1150 PRINTTAB(8)"PRESS F1 TO CHANGE COLOR"
  17. 1160 PRINTTAB(6)"PRESS RETURN  WHEN SATISFIED"
  18. 1170 BD=0
  19. 1180 GETQ$:IFQ$<>CHR$(13)ANDQ$<>"[133]"THEN1180
  20. 1190 IFQ$=CHR$(13)THEN1220
  21. 1200 POKE53280,BD:IFBD<16THENBD=BD+1:GOTO1180
  22. 1210 BD=0:GOTO 1180
  23. 1220 PRINT"[147]EXIT[151]"
  24. 1230 PRINT"  PLEASE TYPE YOUR FIRST NAME "
  25. 1240 :
  26. 1250 PRINT"  (AND PRESS RETURN)"
  27. 1260 PRINT"  ";:GOSUB2340:NM$=QC$:IFNM$=""THENLE=81:GOTO1280
  28. 1270 LE=ASC(LEFT$(NM$,1))-64
  29. 1280 PRINT"[147]EXIT[151]"
  30. 1290 PRINT"  WOULD YOU LIKE TO SEE ME CONSTRUCT"
  31. 1300 PRINT"  THE MAZE? (YES OR NO) ";
  32. 1310 GOSUB2340:KT$=QC$:IFLEFT$(KT$,1)<>"N"THENBC=15:GOTO1330
  33. 1320 WA=1:BC=0
  34. 1330 PRINT"[147]":GOSUB1550
  35. 1340 PP=253*2-47:T=TI:SA=1
  36. 1350 PRINT"[146]          ELAPSED TIME :     ";
  37. 1360 POKESCR+PP,LE:POKECMEM+PP,1:POKE198,0
  38. 1370 IFPP=41THEN1500
  39. 1380 J=CM+PP:POKEJ-1,5:POKEJ+1,5:POKEJ-40,5:POKEJ+40,5:POKEJ-41,5:POKEJ-39,5:POKEJ+39,5:POKEJ+41,5
  40. 1390 IFSA=1THENGETA$:IFA$=""THENT=TI:GOTO1390
  41. 1400 SA=0:GETA$:ET$=STR$(INT((TI-T)/60)):FORB=1TOLEN(ET$):PRINT"[157] [157]";:NEXT:PRINTET$;
  42. 1410 IFA$=""THEN1400
  43. 1420 A=ASC(A$):IFA=29ORA=17ORA=145ORA=157THEN1440
  44. 1430 GOTO1400
  45. 1440 IFA=29THENGOSUB1720:I=1:PP=PP+I:GOTO1480
  46. 1450 IFA=17THENGOSUB1720:I=40:PP=PP+I:GOTO1480
  47. 1460 IFA=145THENGOSUB1720:I=-40:PP=PP+I:GOTO1480
  48. 1470 IFA=157THENGOSUB1720:I=-1:PP=PP+I
  49. 1480 IFPEEK(SCR+PP)<>32THENPP=PP-I
  50. 1490 GOTO1360
  51. 1500 FORI=1TO100:POKECCTRL,255*RND(0):NEXT:POKECCTRL,1
  52. 1510 PRINT"[147][151][146]"
  53. 1520 PRINT"     CONGRATULATIONS! YOU DID IT IN":PRINT"               "ET$" SECONDS
  54. 1530 [141] 1750
  55. 1540 [137] 1030
  56. 1550 [151]53281,BC
  57. 1560 [153]"WAIT  GENERATING MAZE                      ";
  58. 1570 SC[178]1024:CMEM[178]55296:CCTRL[178]53281
  59. 1580 A[178]SC[170]41:WL[178]160:HL[178]32
  60. 1590 [153]"STOP";:[129]I[178]1[164]23:[129]X[178]1[164]39:[153]" WAIT";:[130]:[153]:[130]:[151]A,5
  61. 1600 [153]""[163]37);
  62. 1610 J[178][181]([187](0)[172]4):X[178]J:
  63. 1620 B[178]A[170]A(J):[139]WA[178]1[167][141]1730
  64. 1630 [139][194](B)[178]WL[167][151]B,J[170]1:[151]A[170]A(J)[173]2,HL:A[178]B:[137]1610
  65. 1640 J[178][171](J[170]1)[172](J[179]4):[139]J[179][177]X[167]1620
  66. 1650 J[178][194](A):[151]A,HL:[139]J[179]5[167]A[178]A[171]A(J[171]1):[137]1610
  67. 1660 [153]"                                       ";
  68. 1670 [151]53281,0:[142]
  69. 1680 J[178]CM[170]PP:[151]J[171]1,5:[151]J[170]1,5:[151]J[171]40,5:[151]J[170]40,5:[151]J[171]41,5:[151]J[171]39,5:[151]J[170]39,5:[151]J[170]41,5
  70. 1690 [142]
  71. 1700 J[178]CM[170]PP:[151]J[171]1,5:[151]J[170]1,5:[151]J[171]40,5:[151]J[170]40,5:[151]J[171]41,5:[151]J[171]39,5:[151]J[170]39,5:[151]J[170]41,5
  72. 1710 [142]
  73. 1720 [151]SCR[170]PP,32:[142]
  74. 1730 B$[178][196](B):[129]N[178]1[164][195](B$):[153]"CMD CMD";:[130]:[153]""B$"STOP";:[142]
  75. 1740 :
  76. 1750 [143] ******* TOP TEN *******
  77. 1760 PO[178]1
  78. 1770 [139] [197](ET$) [179][178] TT(PO) [176] TT(PO)[178]0 [167] 1830: [143] PO IS RANKING
  79. 1780 :[143] ELSE BEGIN
  80. 1790 :PO[178]PO[170]1
  81. 1800 :[139] PO[177]9 [167] 1940: [143] NOT TOP TEN
  82. 1810 :[143] END ELSE
  83. 1820 [137] 1770
  84. 1830 [143] PO = CURRENT RANKING
  85. 1840 [129] I[178]11 [164] PO [169] [171]1
  86. 1850 :TT(I)[178]TT(I[171]1)
  87. 1860 :TT$(I)[178]TT$(I[171]1)
  88. 1870 [130] I
  89. 1880 TT$(PO)[178]NM$
  90. 1890 TT(PO)[178][197](ET$)
  91. 1900 [153] ""
  92. 1910 [153] [163]10);"YOU ARE NOW RANKED";PO
  93. 1920 [153] [163]10);"IN THE TOP TEN SCORES."
  94. 1930 [137] 1960: [143] PRINT TOP TEN
  95. 1940 [153] "  SORRY, YOU DIDN'T MAKE THE TOP TEN.  "
  96. 1950 [153] [163]9);" BETTER LUCK NEXT TIME!"
  97. 1960 [141] 2210
  98. 1970 [153] "LOAD"
  99. 1980 [153] [163]15);"           WAITPOKE"
  100. 1990 [153] [163]15);" WAIT          WAIT"
  101. 2000 [153] [163]15);" WAIT TOP TEN  WAIT"
  102. 2010 [153] [163]15);" WAIT          WAIT"
  103. 2020 [153] [163]15);"           WAITPOKE"
  104. 2030 [153] ""
  105. 2040 [129] I[178]1 [164] 10
  106. 2050 :PO$[178][196](I)
  107. 2060 [139] [200](PO$,1)[178]" " [167] PO$[178][202](PO$,2,[195](PO$)): [137] 2060
  108. 2070 :[139] [195](PO$)[179]2 [167] PO$[178]" "[170]PO$: [137] 2070
  109. 2080 :[139] TT(I)[178]0 [167] [137] 2170
  110. 2090 :[153] PO$;".";[166]1);TT$(I);
  111. 2100 :[129] J[178]1 [164] (MX[170]1)[171][195](TT$(I))
  112. 2110 ::[153]".";
  113. 2120 :[130] J
  114. 2130 :SC$[178][196](TT(I))
  115. 2140 [139] [200](PO$,1)[178]" " [167] PO$[178][202](PO$,2,[195](PO$)): [137] 2140
  116. 2150 :[139] [195](SC$) [179] 5 [167] SC$[178]" "[170]SC$: [137] 2140
  117. 2160 :[153] SC$;" SECONDS"
  118. 2170 [130] I
  119. 2180 [153] ""
  120. 2190 [141] 2210
  121. 2200 [142]
  122. 2210 [151] 198,0
  123. 2220 [153] ""
  124. 2230 [153] [163]6);"PRESS ANY KEY TO CONTINUE...POKE"
  125. 2240 [161] K$: [139] K$[178]"" [167] 2240
  126. 2250 [142]
  127. 2260 :
  128. 2270 [143] TEST ROUTINE
  129. 2280 :
  130. 2290 [134] TT$(11):[134] TT(11):MX[178]21
  131. 2300 [153] "NAME:  ";:[141] 2340:NM$[178]QC$
  132. 2310 [153] "SCORE: ";:[141] 2340:ET$[178]QC$
  133. 2320 [141] 1750
  134. 2330 [137] 2300
  135. 2340 :
  136. 2350 [143]  TYPE A LINE TO CONTINUE
  137. 2360 :
  138. 2370 [151]198,0
  139. 2372 [139] [194](207)[178]0 [167] [151] 204,0: [137] 2380
  140. 2374 [137] 2372
  141. 2380 QC$[178]""
  142. 2390 [151]908,0
  143. 2400 [139][195](QC$)[177]MX[167]2450
  144. 2410 [161]Q$:[139]Q$[178]""[167]2410
  145. 2420 [139]Q$[178][199](13)[176]Q$[178][199](141)[167]2500
  146. 2430 [139]Q$[179][177][199](157)[175]Q$[179][177][199](20)[167]2460
  147. 2440 [139]QC$[178]""[167]2390
  148. 2450 QC$[178][200](QC$,[195](QC$)[171]1):[153]"CMD  CMDCMD";:[137]2390
  149. 2460 [139][198](Q$)[179]32[176][198](Q$)[177]95[167]2390
  150. 2470 QC$[178]QC$[170]Q$:[139][198](Q$)[178]34[167]:[153][199](34);[199](34);"CMD CMD";:[137]2390
  151. 2480 [153]Q$;:[137]2390
  152. 2490 [137] 2390
  153. 2500 [139] [194](207)[178]0 [167] [151] 204,1: [137] 2510
  154. 2505 [137] 2500
  155. 2510 [142]
  156.